Hello,
const Group g = find("DB Admin")
if(null g)
{ halt }
Skip AllUserList = create()
int cnt = 0
User u = null
for u in userList do {
string s = u.name
put(AllUserList, cnt++, s)
}
string sUserName = null
for sUserName in AllUserList do {
User cUser = find(sUserName)
if(null cUser) continue
addMember(g, cUser)
// save new user list
if (saveDirectory() == null)
{
// refresh
if (loadDirectory() == null)
{
// inform user
infoBox("User '"sUserName"'was added successfully.\n")
}
else
{
// warn user
errorBox("Failed to load user list.\n")
}
}
else
{
// warn user
errorBox("Failed to save user list.\n")
}
}
delete AllUserList
SystemAdmin - Tue Dec 04 14:11:31 EST 2012 |
Re: Add all user to a group(help needed)
I believe I fixed my issue is my logic correct now?
pragma runLim, 0
const string sgroup = "DB Admin"
// Environment variable
const string USER_PROFILE = getenv("USERPROFILE") // Desktop variable
// -------------------------------------------------------------------
const string OUT_FILE = USER_PROFILE "\\Desktop\\UserGroupUpdate.txt"
const Stream OUTPUT
// -------------------------------------------------------------------
bool writeFileHeader(string filename)
{ // Try to open output file
bool returnValue = false
if (canOpenFile(filename, true))
{ // User can write to Stream
returnValue = true
OUTPUT = write filename
} // User can write to Stream
return returnValue
} // Try to open output file
// -------------------------------------------------------------------
void msgPrint(string msg)
{
OUTPUT << msg
}
void UpdateUsers(string sUserName, string sgroup)
{
bool saving = false
if(existsGroup(sgroup))
{
Group g = find(sgroup)
if(g == null)
{
// warn user
msgPrint("Failed to find group.\n")
}
else
{
User cUser = find(sUserName)
if(cUser == null)
{
// warn user
msgPrint("Failed to find user. '"sUserName".\n")
}
else
{
if(!member(g,cUser))
{
// add user group
addMember(g, cUser)
saving = true
}
}
}
}
else
{
// warn user
msgPrint("Group doesn't exist '"sgroup"'.\n")
}
if(saving)
{
// save new user list
if (saveDirectory() == null)
{
// refresh
if (loadDirectory() == null)
{
// inform user
msgPrint("User '"sUserName"'was added successfully.\n")
}
else
{
// warn user
msgPrint("Failed to load user list.\n")
}
}
else
{
// warn user
msgPrint("Failed to save user list.\n")
}
}
}
/************************************
MAIN
*************************************/
if (writeFileHeader(OUT_FILE))
{
OUTPUT << (dateAndTime(today) "\n")
Skip AllUserList = create
int cnt = 0
User user = null
for user in userList do {
string temp = user.name
put(AllUserList, cnt++, temp)
}
string cuuser = null
for cuuser in AllUserList do {
UpdateUsers(cuuser, sgroup)
}
delete AllUserList
}
close OUTPUT
exit_
|
Re: Add all user to a group(help needed) SystemAdmin - Tue Dec 04 15:34:15 EST 2012
I believe I fixed my issue is my logic correct now?
pragma runLim, 0
const string sgroup = "DB Admin"
// Environment variable
const string USER_PROFILE = getenv("USERPROFILE") // Desktop variable
// -------------------------------------------------------------------
const string OUT_FILE = USER_PROFILE "\\Desktop\\UserGroupUpdate.txt"
const Stream OUTPUT
// -------------------------------------------------------------------
bool writeFileHeader(string filename)
{ // Try to open output file
bool returnValue = false
if (canOpenFile(filename, true))
{ // User can write to Stream
returnValue = true
OUTPUT = write filename
} // User can write to Stream
return returnValue
} // Try to open output file
// -------------------------------------------------------------------
void msgPrint(string msg)
{
OUTPUT << msg
}
void UpdateUsers(string sUserName, string sgroup)
{
bool saving = false
if(existsGroup(sgroup))
{
Group g = find(sgroup)
if(g == null)
{
// warn user
msgPrint("Failed to find group.\n")
}
else
{
User cUser = find(sUserName)
if(cUser == null)
{
// warn user
msgPrint("Failed to find user. '"sUserName".\n")
}
else
{
if(!member(g,cUser))
{
// add user group
addMember(g, cUser)
saving = true
}
}
}
}
else
{
// warn user
msgPrint("Group doesn't exist '"sgroup"'.\n")
}
if(saving)
{
// save new user list
if (saveDirectory() == null)
{
// refresh
if (loadDirectory() == null)
{
// inform user
msgPrint("User '"sUserName"'was added successfully.\n")
}
else
{
// warn user
msgPrint("Failed to load user list.\n")
}
}
else
{
// warn user
msgPrint("Failed to save user list.\n")
}
}
}
/************************************
MAIN
*************************************/
if (writeFileHeader(OUT_FILE))
{
OUTPUT << (dateAndTime(today) "\n")
Skip AllUserList = create
int cnt = 0
User user = null
for user in userList do {
string temp = user.name
put(AllUserList, cnt++, temp)
}
string cuuser = null
for cuuser in AllUserList do {
UpdateUsers(cuuser, sgroup)
}
delete AllUserList
}
close OUTPUT
exit_
You can put the "User" handle directly into your Skip, instead of converting and de-converting to a string name. I don't think you need the Skip in any case; you can put the user in the group inside the userList loop (you are neither creating nor deleting users). I don't see the problem with the original code. -Louie
|